Virtual musical instruments, such as MIDI-based or software-based keyboards, guitars, basses, and the like, are ubiquitous in contemporary music across many different genres. Virtual instruments allow a user to play virtually any sound that a typical acoustic instrument could play and much more. Amateur musicians with little to no experience on a particular instrument or with music composition may find that virtual instruments are more intuitive and can provide simplified ways of creating music without needing the manual dexterity or knowledge of music theory that a conventional instrument may require.
Software-based music production tools can be used to create many different genres of music and provide resources that can allow a user to quickly and easily create musical compositions without the need for any appreciable proficiency at a particular instrument. For example, musical passages can be created in real-time, in a methodical stepwise fashion, or a combination thereof. Notes, chords, melodies, and harmonies can be created, and in some cases, the software can provide shortcuts that can make producing music even easier without the need for understanding its theoretical underpinnings. For example, music production software may help a user create a chord progression with diatonic harmony without requiring the user to understand the theory of the chord sequence. As a result, software-based music production tools have become ubiquitous across many genres of music. Although this document refers to music production tools generally as digital audio workstations (DAWs)(e.g., Logic Pro™), it should be understood that any suitable production tool can implement the concepts and embodiments described herein and can additionally include, but are not limited to, software sequencers, synthesizers, drum machines, Musical Instrument Digital Interface (MIDI) keyboard workstations, software plug-ins, and the like.
One type of musical technique that conventionally requires some proficiency is the arpeggio. An arpeggio involves the playing or sounding notes of a chord in a sequence, rather than playing them simultaneously. For example, a C major chord comprises the notes of C, E, and G. One example of a C major arpeggio may involve playing the notes of C, E, G, E, and C in succession, one after the other. This technique can become physically challenging to perform when played with fast tempos, large octave ranges, complex chord structures, difficult chord changes, or the like. Thus, many systems incorporate features to automate the performance of arpeggios and help create musical sequences and progressions that could not otherwise be played by those lacking in musical proficiency. An arpeggiator can streamline the process of creating an arpeggio by automatically stepping through a sequence of notes based on an input (e.g., chord). An arpeggiator is a feature typically available on synthesizers, digital audio workstations (DAW), software sequencers, or other music creation programs or tools that can automatically step through a sequence of notes based on an input (e.g., chord) to create an arpeggio. The notes can often be transmitted to a MIDI sequencer for recording and editing. An arpeggiator typically can control the speed, range, and order in which the notes play, including patterns trending upwards, downwards, or randomly. More contemporary arpeggiators allow the user to step through a pre-programmed complex sequence of notes, or even play several arpeggios at once.
Although arpeggiators can be a highly useful and powerful creative tool, many users find that conventional arpeggiators are difficult or cumbersome to use, they are limited in their application, or require extensive tinkering to generate a harmonically pleasing and useful sequence. These problems lead to frustration and make arpeggiators less useful for many practical applications. Therefore, a need exists for an arpeggiator that can be applied to a broad spectrum of applications in a seamless, intuitive, and musically inspiring way.